package com.ruoyi.labdata.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 工作流实例对象 lab_flow_instance
 * 
 * @author winner pan
 * @date 2022-03-11
 */
public class LabFlowInstance extends BaseEntity {
	private static final long serialVersionUID = 1L;

	/** 实例ID */
	private Long instanceId;

	/** 流程ID */
	@Excel(name = "流程ID")
	private Long workflowId;

	/** 业务类型 */
	@Excel(name = "业务类型")
	private String businessTypeOpt;

	/** 开始时间 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
	private Date startTime;
	
	/**流程是否结束*/
	private boolean isFinish;
	/**流程结束备注*/
	private String finishMark;
	
	public String getFinishMark() {
		return finishMark;
	}

	public void setFinishMark(String finishMark) {
		this.finishMark = finishMark;
	}

	public boolean isFinish() {
		return isFinish;
	}

	public void setFinish(boolean isFinish) {
		this.isFinish = isFinish;
	}

	public Date getStartTime() {
		return startTime;
	}

	public void setStartTime(Date startTime) {
		this.startTime = startTime;
	}

	private Long createById;

	public Long getCreateById() {
		return createById;
	}

	public void setCreateById(Long createById) {
		this.createById = createById;
	}

	/** 处理角色 */
	private String flowRoles;

	/** 流程状态 */
	@Excel(name = "流程状态")
	private String flowStatusOpt;

	/** 流程名称 */
	@Excel(name = "流程名称")
	private String flowName;

	/** 创建单位 */
	@Excel(name = "创建单位")
	private Long createOrgId;
	
	private String nodeName;
	
	public String getNodeName() {
		return nodeName;
	}

	public void setNodeName(String nodeName) {
		this.nodeName = nodeName;
	}

	/** 抄送人员 */
	private String copyToUsers;

	public void setInstanceId(Long instanceId) {
		this.instanceId = instanceId;
	}

	public Long getInstanceId() {
		return instanceId;
	}

	public void setWorkflowId(Long workflowId) {
		this.workflowId = workflowId;
	}

	public Long getWorkflowId() {
		return workflowId;
	}

	public void setBusinessTypeOpt(String businessTypeOpt) {
		this.businessTypeOpt = businessTypeOpt;
	}

	public String getBusinessTypeOpt() {
		return businessTypeOpt;
	}

	public void setFlowRoles(String flowRoles) {
		this.flowRoles = flowRoles;
	}

	public String getFlowRoles() {
		return flowRoles;
	}

	public void setFlowStatusOpt(String flowStatusOpt) {
		this.flowStatusOpt = flowStatusOpt;
	}

	public String getFlowStatusOpt() {
		return flowStatusOpt;
	}

	public void setFlowName(String flowName) {
		this.flowName = flowName;
	}

	public String getFlowName() {
		return flowName;
	}

	public void setCreateOrgId(Long createOrgId) {
		this.createOrgId = createOrgId;
	}

	public Long getCreateOrgId() {
		return createOrgId;
	}

	public void setCopyToUsers(String copyToUsers) {
		this.copyToUsers = copyToUsers;
	}

	public String getCopyToUsers() {
		return copyToUsers;
	}

	@Override
	public String toString() {
		return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("instanceId", getInstanceId())
				.append("workflowId", getWorkflowId())
				.append("businessTypeOpt", getBusinessTypeOpt())
				.append("flowRoles", getFlowRoles()).append("flowStatusOpt", getFlowStatusOpt())
				.append("flowName", getFlowName()).append("createBy", getCreateBy())
				.append("createOrgId", getCreateOrgId()).append("endTime", getEndTime())
				.append("copyToUsers", getCopyToUsers()).toString();
	}
}
